package org.particles.domain.field;

import org.particles.domain.AbstractFunction;

public abstract class AbstractField implements Field {
	
	private double strength;
	/**
	 * to determine field strength depending on distance between particles.
	 */
	private AbstractFunction distanceFunc;
	private long fieldMarker;
	
	public AbstractField(long fieldMarker) {
		super();
		this.fieldMarker = fieldMarker;
	}

	public long getFieldMarker() {
		return fieldMarker;
	}

	public void setFieldMarker(long fieldMarker) {
		this.fieldMarker = fieldMarker;
	}

	public double getStrength() {
		return strength;
	}

	public void setStrength(double strength) {
		this.strength = strength;
	}
	
	public AbstractFunction getDistanceFunc() {
		return distanceFunc;
	}
	
	/**
	 * @param distanceFunc to determine field strength depending on distance between particles.
	 */
	public void setDistanceFunc(AbstractFunction distanceFunc) {
		this.distanceFunc = distanceFunc;
	}

}
